﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Theoreme.Samples.UnitTesting.Mocks.UI
{
    /// <summary>
    /// What Are Mock Objects ?
    /// 
    /// Mock Objects are a technique that allow you to isolate classes from 
    /// their dependencies for testing purposes. 
    /// 
    /// This isolation allows for fine-grained testing of single methods in 
    /// a single class, possibly even before the dependent classes are fully 
    /// implemented. 
    /// 
    /// This isolation allows your tests to run quickly and it makes testing small 
    /// pieces of functionality much easier. When you’ve tested individual pieces of code 
    /// in isolation you can have much higher confidence in larger-grained tests.
    /// 
    /// This isolation becomes even more interesting when you are dealing with dependencies 
    /// such as a data layer or a web service layer. 
    /// External calls like that can be very time consuming or could fail if 
    /// the remote system is down for maintenance.
    /// 
    /// One of the great things about using Mock Objects is that they force you to think about 
    /// the dependencies that your classes and methods have. 
    /// It forces you to think about the coupling between your classes. 
    /// If you have high coupling then your code is often harder to test. 
    /// If you have a loosely coupled design then testing and using Mock Objects is very much easier. 
    /// Thinking about those design notions early can help you more easily manage change over time.
    /// </summary>
    /// <remarks>
    /// Article original : http://www.zorched.net/2007/03/10/mocking-net-objects-with-nunit/
    /// </remarks>
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}
